package com.joker.demo.admin.domain.vo;

import com.joker.demo.admin.domain.po.ThreadPoolMonitorPO;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 执行器趋势VO
 *
 * @author : feixiang.li
 * @since : 2025-01-27 10:00
 */
@Data
public class ExecutorTrendVO implements Serializable {

    /**
     * 线程池监控趋势数据
     */
    private List<ThreadPoolMonitorPO> threadPoolTrend;

    /**
     * 环境监控趋势数据
     */
    private List<EnvironmentMonitorVO> environmentTrend;

    /**
     * 在线执行器趋势数据（新增）
     */
    private List<OnlineExecutorTrendItem> onlineExecutorTrend;

    /**
     * 在线执行器趋势项
     */
    @Data
    public static class OnlineExecutorTrendItem implements Serializable {
        /**
         * 小时（0-23）
         */
        private Integer hour;

        /**
         * 在线执行器数量
         */
        private Integer onlineCount;

        /**
         * 离线执行器数量
         */
        private Integer offlineCount;

        /**
         * 总执行器数量
         */
        private Integer totalCount;

        /**
         * 在线率（百分比）
         */
        private Double onlineRate;
    }
}
